.pure-cascader {
    --pure-tabs-items-gap: var(--pure-cascader-tabs-gap, 15px);
    --pure-tabs-item-active-color: var(--pure-cascader-active-tab-color);
}

.pure-cascader-wrapper {
    height: var(--pure-cascader-height, 70vh);
    display: flex;
    flex-direction: column;
    background: var(--pure-cascader-background, var(--pure-background-element));
    border-radius: var(--pure-cascader-border-radius);
    position: fixed;
    z-index: var(--pure-overlay-z-index, var(--pure-z-index-upper));
    width: 100%;
    left: 0;
    bottom: var(--pure-cascader-bottom, 0);
    transition: var(--pure-cascader-transition, 0.3s);
    transform: translateY(100%);
    box-sizing: border-box;
}


.pure-cascader-header {
    flex-shrink: 0;
    padding: var(--pure-cascader-padding, 10px 15px);
    box-sizing: border-box;
    height: var(--pure-cascader-header-height);
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--pure-cascader-header-gap, 15px);
}

.pure-cascader-title {
    flex: 1;
    text-align: var(--pure-cascader-title-text-align, center);
    font-size: var(--pure-cascader-title-font-size, var(--pure-font-size-larger));
    color: var(--pure-cascader-title-color);
    font-weight: var(--pure-cascader-title-font-weight, 600);
    box-sizing: border-box;
}

.pure-cascader-tabs-wrapper {
    flex-shrink: 0;
    overflow: hidden;
    padding: var(--pure-cascader-tabs-padding, 0 15px);
    margin: var(--pure-cascader-tabs-margin);
    box-sizing: border-box;
}

.pure-cascader-close {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: var(--pure-cascader-close-font-size, var(--pure-font-size-larger));
    font-weight: var(--pure-cascader-close-font-weight, 600);
    color: var(--pure-cascader-close-color);
    cursor: pointer;
    background: var(--pure-cascader-close-background);
    border-radius: var(--pure-cascader-close-border-radius);
    border: var(--pure-cascader-close-border);
    width: var(--pure-cascader-close-width);
    height: var(--pure-cascader-close-height);
    padding: var(--pure-cascader-close-padding);
    box-sizing: border-box;
}

.pure-cascader-tabs-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: var(--pure-cascader-tabs-gap, 15px);
    word-break: keep-all;
}


.pure-cascader-tab {
    display: block;
    padding: var(--pure-cascader-tab-padding, 15px 0);
    box-sizing: border-box;
    font-size: var(--pure-cascader-tab-font-size);
    font-weight: var(--pure-cascader-tab-font-weight);
    color: var(--pure-cascader-tab-color);
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.pure-cascader-tabs .pure-cascader-tab {
    color: var(--pure-cascader-tab-color, var(--pure-theme-primary));
    flex-shrink: 0;
}

.pure-cascader-tab-placeholder {
    color: var(--pure-cascader-tab-placeholder-color, var(--pure-text-color-placeholder));
}

.pure-cascader-tabs .pure-cascader-tab-placeholder {
    color: var(--pure-cascader-tab-placeholder-color, var(--pure-text-color-placeholder));
}

.pure-cascader-tab-active::after {
    content: "";
    width: 0;
    height: var(--pure-cascader-tab-line-height, 4px);
    background: var(--pure-cascader-tab-line-color, var(--pure-theme-primary));
    position: absolute;
    bottom: var(--pure-cascader-tab-line-bottom, 0);
    left: var(--pure-cascader-tab-line-left, 50%);
    transform: translate(-50%, 0);
    border-radius: var(--pure-cascader-tab-line-border-radius, 4px);
    transition: all 0.2s;
    opacity: 0;
    display: block;
}

.pure-cascader-tabs-list .pure-cascader-tab-active::after {
    width: var(--pure-cascader-tab-line-width, 1.5em);
    opacity: 1;
}

.pure-cascader-body {
    flex: 1;
    overflow: hidden;
}

.pure-cascader-swiper {
    width: 100%;
    height: 100%;
}

.pure-cascader-swiper-item {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.pure-cascader-options-title {
    flex-shrink: 0;
    padding: var(--pure-cascader-options-title-padding, 15px);
    font-size: var(--pure-cascader-options-title-font-size, var(--pure-font-size-smaller));
    margin: var(--pure-cascader-options-title-margin, 0 0 -15px 0);
    box-sizing: border-box;
    background: var(--pure-cascader-background, var(--pure-background-element));
    color: var(--pure-cascader-options-title-color, var(--pure-text-color-placeholder));
    font-weight: var(--pure-cascader-options-title-font-weight);
    position: var(--pure-cascader-options-title-position, sticky);
    top: var(--pure-cascader-options-title-top, 0);
}

.pure-cascader-options-body {
    flex: 1;
    overflow: hidden;
    height: 100%;
}

.pure-cascader-scroll-view {
    width: 100%;
    height: 100%;
}

.pure-cascader-options {
    padding: var(--pure-cascader-options-padding, 15px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: var(--pure-cascader-options-gap);
}

.pure-cascader-option {
    display: flex;
    flex-direction: row;
    align-items: var(--pure-cascader-option-align-items, center);
    padding: var(--pure-cascader-item-padding, 8px 0);
    gap: var(--pure-cascader-option-gap, 10px);
    background: var(--pure-cascader-option-background);
    color: var(--pure-cascader-option-color);
    font-size: var(--pure-cascader-option-font-size);
    font-weight: var(--pure-cascader-option-font-weight);
    box-sizing: border-box;
}

.pure-cascader-option-hide {
    display: none;
}

.pure-cascader-option-text {
    flex: 1;
}

.pure-cascader-option-icon {
    color: var(--pure-cascader-option-icon-color);
    font-size: var(--pure-cascader-option-icon-size);
    font-weight: var(--pure-cascader-option-icon-font-weight);
    flex-shrink: 0;
    opacity: 0;
    transition: 0.2s;
}

.pure-cascader-option-selected {
    color: var(--pure-cascader-option-selected-color, var(--pure-cascader-option-color, var(--pure-theme-primary)));
    font-weight: var(--pure-cascader-option-selected-font-weight, var(--pure-cascader-option-font-weight));
    font-size: var(--pure-cascader-option-selected-font-size, var(--pure-cascader-option-font-size));
    background: var(--pure-cascader-option-selected-background, var(--pure-cascader-option-background));
}

.pure-cascader-option-selected .pure-cascader-option-icon {
    opacity: 1;
}

.pure-cascader-footer {
    flex-shrink: 0;
}

.pure-cascader-safe-bottom .pure-cascader-wrapper {
    padding-bottom: env(safe-area-inset-bottom);
}

.pure-cascader-before-hide .pure-cascader-wrapper {
    opacity: 1;
    transform: translateY(0);
}

.pure-cascader-to-hide .pure-cascader-wrapper {
    opacity: 1;
    transform: translateY(100%);
}

.pure-cascader-hide .pure-cascader-wrapper {
    opacity: 0;
    transform: translateY(100%);
}

.pure-cascader-before-show .pure-cascader-wrapper {
    opacity: 0;
    transform: translateY(100%);
}

.pure-cascader-to-show .pure-cascader-wrapper {
    opacity: 1;
    transform: translateY(0);
}

.pure-cascader-show .pure-cascader-wrapper {
    opacity: 1;
    transform: translateY(0);
}
